﻿Imports System.ServiceModel

' NOTE: If you change the class name "ITyranntCharacterService" here, you must also update the reference to "ITyranntCharacterService" in Web.config.
<ServiceContract()> _
Public Interface ITyranntCharacterService

    <OperationContract()> _
    Function GetCharacters(ByVal token As String) As String
    <OperationContract()> _
    Function GetCharacter(ByVal token As String, ByVal characterID As Integer) As String
    <OperationContract()> _
    Function DeleteCharacter(ByVal token As String, ByVal characterID As Integer) As String
    <OperationContract()> _
    Function NewCharacter(ByVal token As String, ByVal name As String) As String
    <OperationContract()> _
    Function GenerateStats(ByVal token As String, ByVal characterID As Integer) As String
    <OperationContract()> _
    Function SelectRace(ByVal token As String, ByVal characterID As Integer, ByVal raceID As Integer, ByVal isMale As Boolean, ByVal imageName As String) As String
    <OperationContract()> _
    Function SelectGuild(ByVal token As String, ByVal characterID As Integer, ByVal guildID As Integer) As String
    <OperationContract()> _
    Function GetCharacterSkills(ByVal token As String, ByVal characterID As Integer) As String
    <OperationContract()> _
    Function GetCharacterItems(ByVal token As String, ByVal characterID As Integer) As String
    <OperationContract()> _
    Function GetRaces(ByVal token As String) As String
    <OperationContract()> _
    Function GetRace(ByVal token As String, ByVal raceID As Integer) As String
    <OperationContract()> _
    Function GetSkills(ByVal token As String) As String
    <OperationContract()> _
    Function GetItems(ByVal token As String) As String
    <OperationContract()> _
    Function GetItem(ByVal token As String, ByVal itemID As Integer) As String
    <OperationContract()> _
    Function GetItemTypes(ByVal token As String) As String
    <OperationContract()> _
    Function GetClasses(ByVal token As String) As String
    <OperationContract()> _
    Function GetClass(ByVal token As String, ByVal classID As Integer) As String
    <OperationContract()> _
    Function GetGuilds(ByVal token As String) As String
    <OperationContract()> _
    Function GetGuild(ByVal token As String, ByVal guildID As Integer) As String

#Region "Admin Functions"

    <OperationContract()> _
    Function AddRace(ByVal token As String, ByVal raceXML As String) As String
    <OperationContract()> _
    Function UpdateRace(ByVal token As String, ByVal raceXML As String) As String
    <OperationContract()> _
    Function DeleteRace(ByVal token As String, ByVal raceID As Integer) As String
    <OperationContract()> _
    Function AddSkill(ByVal token As String, ByVal name As String, ByVal description As String) As String
    <OperationContract()> _
    Function UpdateSkill(ByVal token As String, ByVal skillID As Integer, ByVal name As String, ByVal description As String) As String
    <OperationContract()> _
    Function DeleteSkill(ByVal token As String, ByVal skillID As Integer) As String
    <OperationContract()> _
    Function AddItem(ByVal token As String, ByVal itemXML As String) As String
    <OperationContract()> _
    Function UpdateItem(ByVal token As String, ByVal itemXML As String) As String
    <OperationContract()> _
    Function DeleteItem(ByVal token As String, ByVal itemID As Integer) As String
    <OperationContract()> _
    Function AddClass(ByVal token As String, ByVal classXML As String) As String
    <OperationContract()> _
    Function UpdateClass(ByVal token As String, ByVal classXML As String) As String
    <OperationContract()> _
    Function DeleteClass(ByVal token As String, ByVal classID As Integer) As String
    <OperationContract()> _
    Function AddGuild(ByVal token As String, ByVal guildXML As String) As String
    <OperationContract()> _
    Function UpdateGuild(ByVal token As String, ByVal guildXML As String) As String
    <OperationContract()> _
    Function DeleteGuild(ByVal token As String, ByVal guildID As Integer) As String

#End Region

End Interface